package com.example.leo.mycharmingstudent.a0901;

import android.app.Dialog;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.StyleRes;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

import com.example.leo.mycharmingstudent.R;

/**
 * Created by Leo on 2020/9/1.
 */

public class CustomDialog extends Dialog implements View.OnClickListener {


    public CustomDialog(@NonNull Context context) {
        //调用CustomDialog自身的构造方法，用this
        //标准的写法，不要诧异
        this(context, R.style.CustomDialog);
    }

    /**
     * 构造方法使用哪一个都可以创建对象
     *
     * @param context    上下文菜单
     * @param themeResId 主题资源id，主题定义在styles.xml文件中
     */
    public CustomDialog(@NonNull Context context, @StyleRes int themeResId) {
        super(context, themeResId);
        setContentView(R.layout.custom_dialog_layout);
        TextView tvContent = findViewById(R.id.tv_content_custom_dialog_layout);
        //使用匿名内部类的方式，设置点击事件
        /*tvContent.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        });*/
        //使用接口的方式设置点击事件
        //因为CustomDialog对象也是OnClickListener类型，所以可以传this
        tvContent.setOnClickListener(this);
        //也是设置点击事件的一种方式，不推荐
        findViewById(R.id.tv_content_custom_dialog_layout).setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.tv_content_custom_dialog_layout:
                Toast.makeText(getContext(),
                        "我是自定义Dialog",
                        Toast.LENGTH_LONG)
                        .show();
                this.cancel();
                break;
            default:
                break;
        }
    }
}
